package com.zzb.framework.starter.xxljob.model;

import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zzb.framework.common.minimalist.MinimalistEntity;
import lombok.Data;

/**
 * .___  ___.  _______  __  ____    ____  __         __   __       ___
 * |   \/   | |   ____||  | \   \  /   / |  |       |  | |  |     /   \
 * |  \  /  | |  |__   |  |  \   \/   /  |  |       |  | |  |    /  ^  \
 * |  |\/|  | |   __|  |  |   \_    _/   |  | .--.  |  | |  |   /  /_\  \
 * |  |  |  | |  |____ |  |     |  |     |  | |  `--'  | |  |  /  _____  \
 * |__|  |__| |_______||__|     |__|     |__|  \______/  |__| /__/     \__\
 *
 *  实体类
 * @author : ZZB
 * @since : 2019-09-10 11:45:13
 */
@Data
@TableName("xxl_job_info")
public class XxlJobInfo implements MinimalistEntity<Integer> {
    @TableId(value = "id", type = IdType.UUID)
    private Integer id; //
    @TableField(value = "job_group")
    private Integer jobGroup; //执行器主键ID
    @TableField(value = "job_cron")
    private String jobCron; //任务执行CRON
    @TableField(value = "job_desc")
    private String jobDesc; //
    @TableField(value = "add_time")
    private Date addTime; //
    @TableField(value = "update_time")
    private Date updateTime; //
    @TableField(value = "author")
    private String author; //作者
    @TableField(value = "alarm_email")
    private String alarmEmail; //报警邮件
    @TableField(value = "executor_route_strategy")
    private String executorRouteStrategy; //执行器路由策略
    @TableField(value = "executor_handler")
    private String executorHandler; //执行器任务handler
    @TableField(value = "executor_param")
    private String executorParam; //执行器任务参数
    @TableField(value = "executor_block_strategy")
    private String executorBlockStrategy; //阻塞处理策略
    @TableField(value = "executor_timeout")
    private Integer executorTimeout; //任务执行超时时间，单位秒
    @TableField(value = "executor_fail_retry_count")
    private Integer executorFailRetryCount; //失败重试次数
    @TableField(value = "glue_type")
    private String glueType; //GLUE类型
    @TableField(value = "glue_source")
    private String glueSource; //GLUE源代码
    @TableField(value = "glue_remark")
    private String glueRemark; //GLUE备注
    @TableField(value = "glue_updatetime")
    private Date glueUpdatetime; //GLUE更新时间
    @TableField(value = "child_jobid")
    private String childJobid; //子任务ID，多个逗号分隔
    @TableField(value = "trigger_status")
    private Integer triggerStatus; //调度状态：0-停止，1-运行
    @TableField(value = "trigger_last_time")
    private Long triggerLastTime; //上次调度时间
    @TableField(value = "trigger_next_time")
    private Long triggerNextTime; //下次调度时间

}
